/**
 * 
 * Author：liaozhanggen
 * Create Date：2017年2月16日
 * Version：v2.0
 */

package com.choosefine.it.cprivilege.dao;

import java.util.Map;

import com.choosefine.it.cprivilege.model.ConsoleRole;
import com.choosefine.it.cprivilege.model.dto.RoleAccountDTO;
import com.choosefine.it.cprivilege.model.vo.RoleMenuVO;
import com.github.pagehelper.Page;

/**
 * 角色数据持久化层
 * 
 * Author：liaozhanggen
 * Create Date：2017年2月16日
 * Version：v2.0
 */

public interface RoleMapper {
	
	/**
	 * 查询添加的角色名称是否存在
	 *
	 * @Author：liaozhanggen
	 * @Create Date：2017年2月17日
	 * @param：....
	 * @return：int
	 */
	int findRoleNameIsExists(ConsoleRole record);

	/**
	 *添加角色 
	*  
	* @Author：liaozhanggen
	* @Create Date：2017年2月16日
	* @param：....
	* @return：int
	 */
	int insertRole(ConsoleRole record);
	
	/**
	 * 更新角色信息
	* @Author：liaozhanggen
	* @Create Date：2017年2月16日
	* @param：....
	* @return：int
	 */
	int updateRole(ConsoleRole record);
	
	/**
	 * 根据角色id 查询角色对象 
	* @Author：liaozhanggen
	* @Create Date：2017年2月16日
	* @param：....
	* @return：ConsoleRole
	 */
	ConsoleRole findRoleById(int id);
	
	/**
	 * 角色列表 
	* @Author：liaozhanggen
	* @Create Date：2017年2月16日
	* @param：....
	* @return：Page<ConsoleRole>
	 */
	Page<ConsoleRole> queryRolePage(ConsoleRole record);
	
	/**
	 * 根据角色id，查询已有的菜单权限明细
	 *
	 * @Author：liaozhanggen
	 * @Create Date：2017年2月17日
	 * @param：....
	 * @return：RoleMenuVO
	 */
	RoleMenuVO queryOwnerMenuByRoleId(int roleId);

	/** 
	 * 删除角色
	 * @Author：liaozhanggen
	 * @Create Date：2017年2月17日
	 * @param：....
	 * @return：int
	 */
	int deleteRole(int id);

}
